TypeScript 50.6%
JavaScript 46.1%
SQL 2.1%
Shell 0.6%
CSS 0.5%
1import { NextResponse } from "next/server";2import { assertSameOrigin, requireUser, revokeSession } from "@/lib/auth/session";3import { audit } from "@/lib/auth/audit";4import { handle } from "@/lib/api";5export const dynamic = "force-dynamic";6export async function DELETE(_req: Request, { params }: { params: Promise<{ id: string }> }) {7 try { await assertSameOrigin(); const u = await requireUser(); const { id } = await params; await revokeSession(id, u.id); await audit("session.revoke", { actorId: u.id, objectId: id }); return NextResponse.json({ ok: true }); } catch (e) { return handle(e); }8}9